- GNU Octave
-
GNU Octave
GNU Octave with Octave Workshop GUIТип математическое ПО
Разработчик John W. Eaton
Написана на Операционная система Первый выпуск 1988
Последняя версия Лицензия Сайт http://www.octave.org/ (англ.)
GNU Octave — свободная система для математических вычислений[1], использующая совместимый с MATLAB язык высокого уровня[2].
Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.).
Содержание
Технические детали
- Octave написан на C++ с использованием библиотеки STL;
- Для запуска скриптов Octave использует интерпретатор;
- Octave можно дополнять динамически подгружаемыми модулями;
- Для создания и распечатки графиков Octave использует gnuplot и Grace.
Язык Octave
Octave — интерпретируемый язык программирования. Он похож на C и поддерживает большинство основных функций стандартной библиотеки C, а также основные команды и системные вызовы Unix. С другой стороны, он не поддерживает передачу аргументов по ссылке (особенность дизайна).
Синтаксис языка очень похож на MATLAB, и грамотно написанные скрипты будут запускаться как в Octave, так и в MATLAB.
Графический интерфейс
Графический интерфейс представлен дополнениями (графики он может выводить и без них):
- QtOctave Graphical User Interface — свободный функциональный кросс-платформенный интерфейс, разработка прекращена в 2011 году;
- Xoctave — коммерческий интерфейс, очень похожий на MATLAB;
- Kalculus — MATLAB-подобный интерфейс, написанный на Qt4, разработка прекращена в 2008 году;
- Octclipse — интеграция с Eclipse IDE;
- OctaveNB — интеграция с NetBeans IDE.
Некоторые возможности
- Интерфейс
Интерфейс командной строки Octave построен с использованием библиотеки GNU Readline, что дает доступ к таким обычным возможностям последней, как автодополнение по клавише Tab ⇆ , история команд и инкрементальный поиск по ней ( Ctrl + R , Ctrl + S ), возможность переопределения клавиш, и т. д.
- Интеграция с C++
Выражения Octave можно вычислять из программ на C++. К примеру, фрагмент кода для вычисления rand([9000,1]): [3]
#include <octave/oct.h> ... ColumnVector NumRands(2); NumRands(0) = 9000; NumRands(1) = 1; octave_value_list f_arg, f_ret; f_arg(0) = octave_value(NumRands); f_ret = feval("rand",f_arg,1); Matrix unis(f_ret(0).matrix_value());
Совместимость с MATLAB
Octave был написан с учётом совместимости с MATLAB и реализует многие его возможности:
- матрицы в качестве основных типов данных;
- встроенная поддержка комплексных чисел;
- мощные встроенные математические функции и большие библиотеки функций;
- расширяемость, благодаря возможности создания пользовательских функций.
Но есть и отличия:
- комментарии могут начинаться как с символа #, так и с символа %;
- поддерживаются C-подобные операторы ++, --, +=, *=, /=;
- элементы могут быть адресованы без создания новой переменной, например [1:10](3);
- строки могут быть заданы как символом ", так и символом '.
Примечания
См. также
Ссылки
Диаграммы GNU Octave на Викискладе? - Официальная страница (англ.)
- Официальная документация (англ.), (чешск.), (яп.)
- GNU Octave (рус.) на Xgu.ru — русскоязычная информация о GNU Octave
- [1] (рус.) немного переводов и статей
- [2] (рус.) Тестирование быстродействия MATLAB и GNU/Octave
- [3] (рус.) Полное описание GNU Octave на русском языке на сайте Е.Р. Алексеева, О.В. Чесноковой
Проект GNU История Лицензии GNU GPL • GNU LGPL • Affero GPL • GNU FDL • GPL linking exception
Программное
обеспечениеПерсоналии Александре Олива • Бенджамин Хилл • Брэдли Кун • Эбен Моглен • Федерико Хейнц • Джордж Грив • Георг Греве • Джошуа Гэй • Лоис Дечэри • Мэтт Ли • Рикардо Галли • Ричард Столлман • Роберт Часселл • Вильям Джон Салливан
Другие темы Математическое программное обеспечение Open source Символьные вычисления: Axiom • GAP • Maxima • ; Численные вычисления: Fityk • FreeMat • GNU Octave • gretl • LabPlot • QtiPlot • R • Sage • SciDAVis • Scilab • Proprietary Символьные вычисления: Mathcad • Maple • Mathematica • SMath Studio ; Численные вычисления: GAUSS • LabVIEW • MagicPlot • MATLAB • Origin • SigmaPlot • Speakeasy • VisSim Категории:- Программное обеспечение по алфавиту
- GNU
- Свободное математическое программное обеспечение
- Предметно-ориентированные языки программирования
- Программное обеспечение для Windows
- Программное обеспечение для Linux
- Свободное программное обеспечение, написанное на C++
Wikimedia Foundation. 2010.